(Finsert_file_contents): Don't make CCL program to
authorKenichi Handa <handa@m17n.org>
Mon, 10 Mar 2008 12:19:35 +0000 (12:19 +0000)
committerKenichi Handa <handa@m17n.org>
Mon, 10 Mar 2008 12:19:35 +0000 (12:19 +0000)
append "CCL: Quitted" when the decoding is quitted, but just
signal `quit'.

src/fileio.c

index 769a719191eb528b371d42eba3b9857ac4b85446..124e107ac746f61bc96209a194a9bd115f3f9af9 100644 (file)
@@ -4632,8 +4632,19 @@ actually used.  */)
     {
       if (CODING_MAY_REQUIRE_DECODING (&coding))
        {
+         if (coding.type == coding_type_ccl)
+           coding.spec.ccl.decoder.quit_silently = 1;
          code_convert_region (PT, PT_BYTE, PT + inserted, PT_BYTE + inserted,
                               &coding, 0, 0);
+         if (coding.type == coding_type_ccl)
+           coding.spec.ccl.decoder.quit_silently = 0;
+         if (coding.result == CODING_FINISH_INTERRUPT)
+           {
+             /* Fixme: It is better that we report that the decoding
+                was interruppted by the user, and the current buffer
+                contents doesn't reflect the file correctly.  */
+             Fsignal (Qquit, Qnil);
+           }
          inserted = coding.produced_char;
        }
       else